package com.rw.coco.api.event;

import com.rw.coco.api.modle.Account;
import com.rw.coco.api.modle.Bot;

/**
 * 抽象消息事件
 */
public interface MessageEvent {
    /**
     * 获得本次事件的机器人
     */
    Bot getBot();

    /**
     * 获得本次事件的消息
     */
    String getMessage();

    /**
     * 获取本次对话的发起人信息
     */
    Account getSender();

    /**
     * 发回消息
     *
     * @param message 需要发回的消息
     */
    void sendBack(String message);

    /**
     * 对发来消息的人私聊，回复消息
     *
     * @param message 需要发回的消息
     */
    void sendBackSender(String message);

    /**
     * 向用户发消息
     *
     * @param message 需要发送的消息
     */
    void sendPrivate(String message, String accountId);


    /**
     * 向群组发消息
     *
     * @param message 需要发送的消息
     * @param groupId 发送的群组ID
     */
    void sendGroup(String message, String groupId);
}
